查看原文
其他

牛逼!这个Python库竟然可以偷懒,和import说再见!

wLsq Python数据科学 2020-09-12


作者:xiaoyu,数据爱好者

Python数据科学出品


还记得入门Python数据分析时经常会import几个库,下面这几个可谓是入门学习时的四大护法,Python数据处理和可视化常会用的工具。




不知道大家有没有遇到过这样一个问题,每次重新开启一个建模流程或者分析过程时,会重新敲一遍import或者将之前的import代码copy进去。虽然已经用的滚花烂熟了,但是确耗费不必要的时间。

本篇给大家介绍一个可以偷懒的python库:pyforest


一个示例


看到了吧,开头什么都没import,依然可以正常使用常用库。


安装

需要安装Python3.6以上的版本,然后终端运行:
pip install pyforest
链接:https://github.com/8080labs/pyforest


使用方法

非常简单!!!

一行代码就可以解决。
from pyforest import *
如果使用Jupyter或IPython,甚至可以跳过此行,因为pyforest会将其自身添加到自动启动中。

而且,完成脚本后,可以通过以下方式导出所有导入语句:
active_imports()
通过这个指令,我们就可以看到脚本所涉及到的全部已经被我省略的库。
好了,你可能会问,如果需要的库不在pyforest中怎么办?

首先,pyforest支持大部分流行的数据科学库,比如pandas,numpy,matplotlib,seaborn,sklearn,tensorflow等等,以及常用的辅助库如os,sys,re,pickle等。

### Data Wranglingpd = LazyImport("import pandas as pd")
np = LazyImport("import numpy as np")
dd = LazyImport("from dask import dataframe as dd")SparkContext = LazyImport("from pyspark import SparkContext")
load_workbook = LazyImport("from openpyxl import load_workbook")
### Data Visualization and Plottingmpl = LazyImport("import matplotlib as mpl")plt = LazyImport("import matplotlib.pyplot as plt")
sns = LazyImport("import seaborn as sns")
py = LazyImport("import plotly as py")go = LazyImport("import plotly.graph_objs as go")px = LazyImport("import plotly.express as px")
dash = LazyImport("import dash")
bokeh = LazyImport("import bokeh")
alt = LazyImport("import altair as alt")
pydot = LazyImport("import pydot")
# statisticsstatistics = LazyImport("import statistics")
### Machine Learningsklearn = LazyImport("import sklearn")OneHotEncoder = LazyImport("from sklearn.preprocessing import OneHotEncoder")TSNE = LazyImport("from sklearn.manifold import TSNE")train_test_split = LazyImport("from sklearn.model_selection import train_test_split")svm = LazyImport("from sklearn import svm")GradientBoostingClassifier = LazyImport( "from sklearn.ensemble import GradientBoostingClassifier")GradientBoostingRegressor = LazyImport( "from sklearn.ensemble import GradientBoostingRegressor")RandomForestClassifier = LazyImport( "from sklearn.ensemble import RandomForestClassifier")RandomForestRegressor = LazyImport("from sklearn.ensemble import RandomForestRegressor")
TfidfVectorizer = LazyImport( "from sklearn.feature_extraction.text import TfidfVectorizer")
# TODO: add all the other most important sklearn objects# TODO: add separate sections within machine learning viz. Classification, Regression, Error Functions, Clustering
# Deep Learningtf = LazyImport("import tensorflow as tf")keras = LazyImport("import keras")
# NLPnltk = LazyImport("import nltk")gensim = LazyImport("import gensim")spacy = LazyImport("import spacy")re = LazyImport("import re")
### Helpersys = LazyImport("import sys")os = LazyImport("import os")re = LazyImport("import re")glob = LazyImport("import glob")Path = LazyImport("from pathlib import Path")
pickle = LazyImport("import pickle")
dt = LazyImport("import datetime as dt")
tqdm = LazyImport("import tqdm")

其次,如果真的没有也没关系,pyforest支持向其中添加库。操作方法也很简单,找到pyforest库的user_imports.py文件,然后添加一个语句就好了,比如像下面这样:

################################ User-specific imports ################################# You can save your own imports in ~/.pyforest/user_imports.py# Please note: imports in ~/.pyforest/user_imports.py take precedence over the# imports above.

所以我们可以根据平时自己的使用习惯添加一套属于自己的万能import,爽歪歪了。

有的同学可能还会问,所有的库添加进入运行速度会不会变慢?

答案是不会,因为只有你后面真正使用了到了pyforest里的包含的库,程序才会真正import,否则不会。

以上就是偷懒神器的介绍和使用方法,抓紧试试吧。




赠送三本当当热销书籍

《Halcon机器视觉算法原理与编程实战》


👆扫描二维码 2 秒 购买书籍

内容介绍:《Halcon机器视觉算法原理与编程实战》适合需要全面学习机器视觉算法的初学者,希望掌握Halcon进行机器视觉项目开发的程序员,需要了解机器视觉项目开发方法的工业客户、机器视觉软件开发项目经理、专业培训机构的学员,以及对机器视觉算法兴趣浓厚的人员阅读。


👆长按上方二维码 2 秒
回复「抽奖」参加赠书活动




推荐阅读

1、SQL语句大全,所有的SQL都在这里(1.5万字长文)
2、{1,t},...,g_{c,t}...g_{n,t}>Windows上评分最高的截图工具,帮你搞定论文和设计难题

3、{1,t},...,g_{c,t}...g_{n,t}>PyTorch中文版官方教程来了,附pdf下载

4、{1,t},...,g_{c,t}...g_{n,t}>神作《统计学习要素》的中文翻译、代码实现及其习题解答,附下载

5、400页《TensorFlow 2.0 深度学习算法实战》中文版教材免费下载(附随书代码+pdf)

6、PDF&PPT下载 | Github 9.9K Star的《神经网络与深度学习》

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存